PostgreSQL এ ডেটা ইনসার্ট করতে INSERT INTO কুয়েরি ব্যবহার করা হয়। INSERT INTO কুয়েরির মাধ্যমে আপনি একটি বা একাধিক রেকর্ড ডেটাবেসের টেবিলে ইনসার্ট করতে পারেন।
এখানে আমরা INSERT কুয়েরি ব্যবহার করার বিভিন্ন পদ্ধতি দেখব:
1. একটি রেকর্ড ইনসার্ট করা
ধরা যাক, আমাদের একটি টেবিল রয়েছে যার নাম users, এবং এই টেবিলে তিনটি কলাম রয়েছে: id, name, এবং email। এক্ষেত্রে, একটি রেকর্ড ইনসার্ট করার জন্য INSERT INTO কুয়েরি এভাবে লিখতে হবে:
INSERT INTO users (name, email)
VALUES ('John Doe', 'john.doe@example.com');
ব্যাখ্যা:
users: টেবিলের নাম।(name, email): কলামের নাম যেখানে ডেটা ইনসার্ট হবে।VALUES ('John Doe', 'john.doe@example.com'): যেসব মান ইনসার্ট করতে চান, সেগুলি।
নোট: এখানে
idকলামটিSERIALবাAUTO_INCREMENTটাইপ হতে পারে, তাই এটি ইনসার্ট করতে হবে না। PostgreSQL স্বয়ংক্রিয়ভাবে এই কলামে একটি ইউনিক মান প্রদান করবে।
2. একাধিক রেকর্ড ইনসার্ট করা
একাধিক রেকর্ড ইনসার্ট করতে একটি INSERT INTO কুয়েরিতে একাধিক VALUES ব্যবহার করা যায়। উদাহরণস্বরূপ:
INSERT INTO users (name, email)
VALUES
('Alice Smith', 'alice.smith@example.com'),
('Bob Johnson', 'bob.johnson@example.com'),
('Charlie Brown', 'charlie.brown@example.com');
এখানে আমরা তিনটি রেকর্ড ইনসার্ট করেছি একই INSERT INTO কুয়েরিতে।
3. কলাম বাদে ইনসার্ট করা
যদি আপনি টেবিলের সব কলাম না ইনসার্ট করতে চান, তবে যেসব কলাম আপনি ইনসার্ট করতে চান, সেগুলির নাম উল্লেখ করতে হবে। উদাহরণ:
INSERT INTO users (name)
VALUES ('Eve Adams');
এখানে শুধুমাত্র name কলামে ডেটা ইনসার্ট করা হয়েছে, আর email কলামের জন্য ডিফল্ট মান বা NULL মান দেওয়া হতে পারে, যদি সেটি NULL গ্রহণযোগ্য হয়।
4. ডেটা ইনসার্ট করতে Subquery ব্যবহার করা
যখন আপনি একটি সাব-কুয়েরি থেকে ডেটা ইনসার্ট করতে চান, তখন এটি একটি অত্যন্ত কার্যকরী পদ্ধতি হতে পারে। উদাহরণস্বরূপ:
INSERT INTO users (name, email)
SELECT name, email FROM temp_users;
এখানে, temp_users টেবিল থেকে ডেটা নিয়ে তা users টেবিলের মধ্যে ইনসার্ট করা হচ্ছে।
5. ডিফল্ট মান ব্যবহার করে ইনসার্ট করা
যদি টেবিলের কোন কলামে ডিফল্ট মান নির্ধারিত থাকে, তবে আপনি সেই কলামটি ইনসার্ট না করেও মান ইনসার্ট করতে পারেন। উদাহরণস্বরূপ:
CREATE TABLE products (
id SERIAL PRIMARY KEY,
name VARCHAR(100),
price DECIMAL(10, 2) DEFAULT 0.00
);
INSERT INTO products (name)
VALUES ('Product A');
এখানে, price কলামে ডিফল্ট মান (0.00) ইনসার্ট হবে, কারণ এটি DEFAULT হিসেবে নির্ধারিত ছিল।
6. Returning Clause ব্যবহার করে ইনসার্ট করা
PostgreSQL এ RETURNING ক্লজ ব্যবহার করে আপনি যে রেকর্ডটি ইনসার্ট করেছেন তার মান ফেরত পেতে পারেন। উদাহরণ:
INSERT INTO users (name, email)
VALUES ('David Green', 'david.green@example.com')
RETURNING id;
এখানে, ইনসার্ট করা রেকর্ডটির id ফেরত আসবে।
সারাংশ
PostgreSQL এ ডেটা ইনসার্ট করার জন্য INSERT INTO কুয়েরি ব্যবহৃত হয়। আপনি একাধিক রেকর্ড, সিংগল রেকর্ড, এবং সাব-কুয়েরি থেকে ডেটা ইনসার্ট করতে পারেন। এছাড়া, ডিফল্ট মান এবং RETURNING ক্লজ ব্যবহার করে আরও বেশি সুবিধা পাওয়া যায়।
Read more